#include <unistd.h>
#include <iostream>
#include "ThreadPool.h"
#include "ThreadPool.cpp"		//使用模板的时候需要把实现类也包含进来
using namespace std;

void task_funtion(void* arg) {
	int num = *(int*)arg;
	cout << "thread " << to_string(pthread_self()) << " start" << num << endl;
	sleep(1);
}

int main()
{
	//	创建线程池
	ThreadPool<int> pool(3, 10);

	//	添加任务
	for (int i = 0; i < 100; i++) {
		int * num = new int(i + 100);
		pool.add_task(Task<int>(task_funtion, num));
	}

	//	保证子线程工作完成
	sleep(50);
	return 0;
}
